/**
 * 请求响应参数
 */
export interface ResResult {
  code: number;
  msg: string;
}
/**
 * 请求响应参数（包含data）
 */
export interface ResResultData<T> extends ResResult {
  data: T;
}

/**
 * 分页响应参数
 */
export interface ResPage<T> extends ResResult {
  currentPage: number;
  pageSize: number;
  total: number;
  data: T[];
}
/**
 * 分页请求参数
 */
export interface ReqPage {
  currentPage: number;
  pageSize: number;
}

/**
 * 任务模块
 */
export namespace Task {
  export interface TaskItem {
    id?: number;
    title: string;
    content: string;
    status: 0 | 1 | 2; // 0: 待办 1: 完成 2: 删除
    is_major: 0 | 1; // 0: 不重要 1: 重要
    start_time: string;
    expire_time: string;
  }

  /**
   * 获取分页任务列表 请求参数
   */
  export interface ReqSelectTask extends ReqPage {
    status: 0 | 1 | 2;
  }
  /**
   * 获取分页任务列表 响应参数
   */
  export interface ResTaskList extends ResPage<TaskItem> {}

  /**
   * 新增任务 请求参数
   */
  export interface ReqInsertTask extends TaskItem {}
  /**
   * 修改任务 请求参数
   */
  export interface ReqUpdateTask extends ReqInsertTask {
    id: number;
  }
  /**
   * 修改任务状态 请求参数
   */
  export interface ReqUpdateTaskStatus {
    id: number;
    status: 0 | 1 | 2;
  }
  /**
   * 修改任务是否为重要 请求参数
   */
  export interface ReqUpdateTaskMajor {
    id: number;
    is_major: number;
  }
  /**
   * 删除任务 请求参数
   */
  export interface ReqDeleteTask {
    ids: number[];
  }
}
